package ar.unlam.com.cliente;

import java.util.ArrayList;

import javax.swing.DefaultListModel;

import model.Notificacion;
import model.Usuario;

public class HiloActualizarPPrincipal extends Thread {
	private static final long INTERVAL = 3*1000;
	private ClienteChat llamador;
	
	
	public HiloActualizarPPrincipal(ClienteChat clienteChat) {
		this.llamador = clienteChat;
	}
	
	public void run(){
		while(true){
				
				ArrayList<Usuario> lista = this.llamador.buscarAmigos();
				DefaultListModel<Usuario> lm = this.llamador.getPantallaPrincipal().getModelListaAmigos();
				lm.clear();
				
				this.llamador.getPantallaPrincipal().getListaAmigos().setVisible(false);
				this.llamador.usuario.setAmigos(lista);
							
				for(Usuario u:lista){
					lm.addElement(u);
				}
				
				this.llamador.getPantallaPrincipal().getListaAmigos().setVisible(true);
				
				ArrayList<Notificacion> listN = this.llamador.buscarNotificaciones();
				DefaultListModel<Notificacion> lmN = this.llamador.getPantallaPrincipal().getModelListaNotificaciones();		
				this.llamador.getPantallaPrincipal().getListaNotificaciones().setVisible(false);
				lmN.clear();
				
				for(Notificacion u:listN){
					this.llamador.getUsuario().getNotificaciones().add(u);
					lmN.addElement(u);
				}
				this.llamador.getPantallaPrincipal().getListaNotificaciones().setVisible(true);
				try {
					Thread.sleep(INTERVAL);
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
			}
		}
	}

